[新機能]Steep上で自然言語でやり取りしながらグラフを構築できる「AI Chart Builder」をdbt Semantic Layerと連携して試してみた

[新機能]Steep上で自然言語でやり取りしながらグラフを構築できる「AI Chart Builder」をdbt Semantic Layerと連携して試してみた

Clock Icon2024.07.13

さがらです。

先日、Steepの新機能として自然言語でやり取りしながらグラフを構築できる「AI Chart Builder」がBeta版として公開されました。

https://steep.app/blog/july-2024

この機能に関して@tanuhackさんの投稿を見かけ、「これは面白そう!」と私も感じたため、実際にdbt Semantic Layerと連携して試してみた内容をまとめてみます。

https://x.com/tanuhack/status/1810639206865400172

事前準備

dbtの準備

dbt Labsが提供するjaffle-shopのリポジトリをクローンし、DimensionsとMetricsに対して日本語でlabelとdescriptionを加筆しました。

下記のリポジトリがその加筆したリポジトリです。あくまで私の検証目的で作成したリポジトリのため動作保証はしませんのでご了承ください。

https://github.com/SSchneider22/jaffle-shop-japanese

この上で、dbt Cloud上でSemantic Layerの設定とSteepとの連携を行っています。こちらの内容については下記のブログが参考になると思います。

https://dev.classmethod.jp/articles/steep-refer-metrics-from-dbt-semantic-layer/

Steepの準備

Steepについては、AI Chart BuilderがBeta版の機能のため申請が必要となります。(2024年7月13日時点)

下記のURLから申請できますので、こちらも忘れずに申請しましょう。

https://steep.app/beta

試してみた

ということで、早速どのようにAI Chart Builderが使用できるか試してみます。

AI Chart Builderの起動

Steepの画面の右下に下図のようなアイコンがあるので、これを押します。

2024-07-13_17h38_39

すると、下図の形でAI Chart Builderが立ち上がります!

2024-07-13_17h39_52

シンプルにグラフの作成を依頼してみる

まずはシンプルにグラフ作成を依頼してみます。

「月別の売上グラフを作って」と伝えると、売上(食べ物のみ、税抜き)というlabelを設定したMetricsを用いて2024年6月のグラフを作ってくれました。(このjaffle-shopのデータは2016年~2017年のデータしか存在ないため、No dataとなっております

2024-07-13_17h44_33

売上に関するMetricsは他にも下図のように多くありますので、その中から売上(食べ物のみ、税抜き)を選んだのかは気になるところです。

2024-07-13_17h46_23

「データが存在する期間でグラフを作成できますか?」と聞いてみても、2024年7月に年月が切り替わるだけでした。(まあこちらは、データが存在するのが8年前という状況なので、普通ではありえない質問だとも感じます。)

2024-07-13_17h48_27

今度は実際にデータが存在する期間を指定し、「2016年~2017年で売上に関する月別のグラフを作って」とお願いしてみます。

すると、下図のようにグラフを作ってくれました。

2024-07-13_17h51_03

まだグラフで使用しているMetricsが売上(食べ物のみ、税抜き)であるため全体の売上についてのグラフを作ってもらうために「特定のカテゴリに絞らず、売上の合計値について同じ期間でグラフを作って」とお願いしてみます。

すると、特に絞り込みを行っていない売上(税抜き)を用いたグラフを作成してくれました。

2024-07-13_17h54_06

ここで、下部表示されるSteepからの提案である「他の販売データも含めて表示できますか?」を押してみます。

すると、注文数(食べ物を含む)との比較したグラフが表示されました。なぜこのMetricsが選ばれたのかは気になるところです。

2024-07-13_17h58_12

相談しながらグラフ作成を依頼してみる

先程は「~~のグラフを作って」という雑なお願いでグラフ作成をしてみましたが、Steep側の判断で自動でMetricsが選ばれ、グラフが作られていきました。

今度は、すぐにグラフ作成を依頼するのではなく、AI Chart Builderに売上に関するグラフの作り方を相談するような形式でグラフ作成を依頼してみます。

「売上に関するグラフを作りたいけど、どのような指標がありますか?」と聞いてみます。

すると、下図のように存在する指標を提案してくれました。

2024-07-13_18h03_40

ここで、「飲み物の売上を見たい」を選択してみます。すると、売上(飲み物のみ、税抜き)を用いたグラフを作成してくれました。(改めて、何もデータが表示されないのは検証用データが2016年~2017年にしかないためです…

2024-07-13_18h06_07

次に、他のDimensonsを用いてグラフを作ることは出来ないかと考え、「この売上を更に分析するための切り口としては、どのようなものがありますか?」と聞いてみます。

すると、下図のように別のDimensionsやMetricsを用いた分析について提示してくれました。

2024-07-13_18h23_25

ここで、「顧客タイプ別に見たい」を押してみると、labelを顧客タイプとしているcustomer typeで分けられたグラフが作られました。(定義しているDimensonsのコードも併せて載せておきます。ここでの注目すべきポイントは、Dimensionsのlabelも参照した提案をAIがしてくれていることです。)

2024-07-13_18h25_12

2024-07-13_18h26_58

最後に、ちゃんとグラフを作ってもらいたいので「2016年~2017年のデータでグラフを作って」とお願いします。これで、相談した内容に沿ってAI Chart Builderから提案を頂き、グラフを作ることが出来ました。

2024-07-13_18h30_28

AI Chart BuilderからReportやExploreへの連携

AI Chart Builderを用いて作成したグラフは、ReportやExploreに連携することも可能です。

Reportへの連携

作られたグラフの右上からAdd to reportを押すと、SteepのReportにAI Charet Builderで作成したグラフを入れることが可能です。

2024-07-13_19h17_17

Explreへの連携

作られたグラフの右上からExploreを押すと、Exploreの画面に遷移してAI Chart Builderが作成したグラフを元にExplore上で分析を行うことが可能です。

2024-07-13_19h19_13

2024-07-13_19h19_39

最後に

Steepの新機能として自然言語でやり取りしながらグラフを構築できる「AI Chart Builder」を試してみました。

ただ雑に「グラフを作って」という形だと勝手にMetricsを指定してしまうところはありましたが、AIに相談しながらグラフを作っていく形であれば、自分も納得のいくグラフを作っていくことができると感じました。

何より、Steep自体はまだ日本語UIがないのに、日本語でも特に問題なくやり取りが出来ていたのが素晴らしいですね!

Semantic Layer×生成AIの時代を感じる、面白い機能でした!まだBeta版ですので、一般提供となる日が楽しみです!

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.